import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';

import {AppRoutingModule} from './app-routing.module';
import {AppComponent} from './app.component';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {HttpClientModule} from '@angular/common/http';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {NZ_I18N, zh_CN} from 'ng-zorro-antd/i18n';
import {registerLocaleData} from '@angular/common';
import zh from '@angular/common/locales/zh';
import {NzAutocompleteModule} from 'ng-zorro-antd/auto-complete';
import {NzCascaderModule} from 'ng-zorro-antd/cascader';
import {NzCheckboxModule} from 'ng-zorro-antd/checkbox';
import {NzButtonModule} from 'ng-zorro-antd/button';
import {NzDividerModule} from 'ng-zorro-antd/divider';
import {NzFormModule} from 'ng-zorro-antd/form';
import {NzIconModule} from 'ng-zorro-antd/icon';
import {NzInputModule} from 'ng-zorro-antd/input';
import {NzMessageModule} from 'ng-zorro-antd/message';
import {NzModalModule} from 'ng-zorro-antd/modal';
import {NzPaginationModule} from 'ng-zorro-antd/pagination';
import {NzSelectModule} from 'ng-zorro-antd/select';
import {NzSpinModule} from 'ng-zorro-antd/spin';
import {NzTabsModule} from 'ng-zorro-antd/tabs';
import {NzTagModule} from 'ng-zorro-antd/tag';
import {NzTreeModule} from 'ng-zorro-antd/tree';
import {NzRadioModule} from 'ng-zorro-antd/radio';
import {NgxEchartsModule} from 'ngx-echarts';
import {SearchResultComponent} from './search-result/search-result.component';
import {NewPolicyDetailComponent} from './new-policy-detail/new-policy-detail.component';
import {ContentModule} from './content/content.module';
import {NewPolicyListComponent} from './new-policy-list/new-policy-list.component';
import {PolicyAnalysisChartComponent} from './policy-analysis-chart/policy-analysis-chart.component';
import {PolicyAnalysisCloudComponent} from './policy-analysis-cloud/policy-analysis-cloud.component';
import {PolicyAnalysisMatrixComponent} from './policy-analysis-matrix/policy-analysis-matrix.component';
import {RelatedPolicyListComponent} from './related-policy-list/related-policy-list.component';
import {SubscriptionComponent} from './subscription/subscription.component';
import {DateSplitSpacePipe} from './common/pipe/date-split-space.pipe';
import {SafeHtmlPipe} from './common/pipe/safe-html.pipe';
import {MagicScienceInnovateComponent} from './magic-science-innovate/magic-science-innovate.component';
import {AboutUsComponent} from './about-us/about-us.component';
import * as echarts from 'echarts';

registerLocaleData(zh);

@NgModule({
  declarations: [
    AppComponent,
    SearchResultComponent,
    NewPolicyDetailComponent,
    NewPolicyListComponent,
    PolicyAnalysisChartComponent,
    PolicyAnalysisCloudComponent,
    PolicyAnalysisMatrixComponent,
    RelatedPolicyListComponent,
    SubscriptionComponent,
    DateSplitSpacePipe,
    SafeHtmlPipe,
    MagicScienceInnovateComponent,
    AboutUsComponent,
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    FormsModule,
    HttpClientModule,
    BrowserAnimationsModule,
    NgxEchartsModule.forRoot({
      echarts: {init: echarts.init}
    }),

    NzInputModule,
    NzButtonModule,
    NzCheckboxModule,
    NzSelectModule,
    ContentModule,
    NzTabsModule,
    NzSpinModule,
    NzPaginationModule,
    NzDividerModule,
    NzFormModule,
    ReactiveFormsModule,
    NzCascaderModule,
    NzMessageModule,
    NzModalModule,
    NzTreeModule,
    NzIconModule,
    NzTagModule,
    NzAutocompleteModule,
    NzRadioModule,
  ],
  providers: [{provide: NZ_I18N, useValue: zh_CN}],
  bootstrap: [AppComponent]
})
export class AppModule {
}
